perm filename UDPDMP.FAI[KID,KMC] blob
sn#122897 filedate 1974-11-15 generic text, type T, neo UTF8
TITLE UDPDMP
;THIS PROGRAM TRANSFERS THE CONTENTS OF ANY DESIGNATED UDP BLOCK
;TO THE DISK-FILE `UDPDMP.TMP'
;THE BLOCK NUMBER REQUIRED IS ENTERED DIRECTLY INTO THE PROGRAM.
DMPFIL: SIXBIT /UDPDMP/
SIXBIT /TMP/
0
0
DIOWD: IOWD 4600,BUFFER
0
UDPIOW: IOWD =2336,BUFFER
BLKNO: 0 ;OVERWRITTEN.
BUFFER: BLOCK 4600
A←1
B←2
C←3
D←4
DSKCHN←←15
UDPCHN←←14
START: INIT UDPCHN,17 ;INIT UDP IN DUMP MODE
SIXBIT /UDP/
0
JRST [OUTSTR [ASCIZ /I DIE/]
CALL [SIXBIT /EXIT/]]
INIT DSKCHN,17 ;INIT DSK IN DUMP MODE
SIXBIT /DSK/
0
JRST [OUTSTR [ASCIZ /MY WORLD IS CRUMBLING/]
CALL [SIXBIT /EXIT/]]
ENTER DSKCHN,DMPFIL ;CREATE A FILE
JRST [OUTSTR [ASCIZ /I NEED TO BE RAIDED/]
CALL [SIXBIT /EXIT/]]
SETZM BUFFER ;THESE ORDERS CLEAR BUFFER
MOVEI 0,BUFFER+1
HRLI 0,BUFFER
BLT 0,BUFFER+4600
OUTSTR [ASCIZ /TYPE A BLOCK NUMBER IN OCTAL /]
MOVEI A,0
LOOP: INCHWL B ;GET NEXT CHARACTER
ANDI B,177
CAIN B,040
JRST LOOP ;IGNORE SPACES.
CAIN B,012
JRST LOOP ;IGNORE LINE FEEDS
CAIN B,15
JRST ZOOP ;CARRIAGE RETURN DETECTED
CAIGE B,060
JRST HOOP ;NON DIGIT
CAILE B,067
JRST HOOP ;NON OCTAL DIGIT
DIGIT: LSH A,3
SUBI B,060
OR A,B
JRST LOOP ;LOOK FOR MORE
HOOP: OUTSTR [ASCIZ /
NON OCTAL DIGIT - TRY AGAIN./]
HOOPLA: INCHWL B ;GET NEXT LOOK FOR CR
ANDI B,177
CAIE B,015
JRST HOOPLA ;AWAIT CR
MOVEI A,0
JRST LOOP
ZOOP: MOVEM A,BLKNO ;THIS IS THE BLOCK NO.
CAIL A,=4000
JRST [OUTSTR [ASCIZ /BLOCK NUMBER TOO LARGE -TRY AGAIN/]
MOVEI A,0
JRST LOOP]
INPUT UDPCHN,UDPIOW
OUTPUT DSKCHN,DIOWD
CLOSE DSKCHN,0
RELEAS UDPCHN,
RELEAS DSKCHN,
CALL [SIXBIT /EXIT/]
END START